/****************************************************************************
 *
 *   Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.30383, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.50467, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.52773, 0.38792 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.42166, 0.38309 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.22907, 0.37906 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.98956, 0.37569 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.74077, 0.37286 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.51626, 0.37048 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.34033, 0.36847 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.22167, 0.36675 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.14782, 0.36529 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.08247, 0.36405 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96626, 0.36307 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72107, 0.36238 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.25703, 0.36207 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.48156, 0.36226 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.30953, 0.36311 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.67362, 0.36476 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.5339, 0.36737 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.88605, 0.37106 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.76743, 0.37592 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.25998, 0.38199 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.48793, 0.38929 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.60851, 0.3978 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.79467, 0.40752 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.78769, 0.41844 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.00315, 0.43058 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.76508, 0.44388 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.04513, 0.45818 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.87314, 0.47314 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.3294, 0.48821 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.5329, 0.50258 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.62878, 0.51528 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.77622, 0.52516 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.13454, 0.53117 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.84435, 0.53246 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -21.00386, 0.52872 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.64726, 0.52021 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.7356, 0.50778 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.16644, 0.49272 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.79894, 0.47644 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.48342, 0.46029 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.08435, 0.44537 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.49152, 0.43242 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.62073, 0.42189 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.40859, 0.41399 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.80564, 0.40881 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.77036, 0.40632 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.26436, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.24809, 0.40947 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.67569, 0.41523 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.48841, 0.42402 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.60695, 0.43616 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92522, 0.45198 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.30985, 0.47171 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.61233, 0.49522 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.70248, 0.52149 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.52962, 0.54816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.20275, 0.57141 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.04797, 0.58682 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.57879, 0.59119 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.35975, 0.5842 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.15685, 0.56828 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.71508, 0.54708 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.2389, 0.52393 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.76788, 0.50115 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.39699, 0.48004 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.23878, 0.46121 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.4054, 0.44482 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.00223, 0.43078 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.12661, 0.41891 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.86736, 0.40895 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.30383, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.37363, 0.37413 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.68193, 0.37025 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.8213, 0.36701 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.83135, 0.36432 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.74512, 0.36211 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.59395, 0.3603 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.41124, 0.35885 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.2324, 0.35775 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.09025, 0.35695 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.00765, 0.35644 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.98991, 0.3562 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.019, 0.35623 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05025, 0.35653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.01181, 0.35712 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.80732, 0.35805 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.32303, 0.35942 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.43998, 0.36137 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.04998, 0.36408 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.07298, 0.36774 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.47311, 0.37253 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.27149, 0.37856 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.5543, 0.38588 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.47277, 0.39445 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.23098, 0.40423 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.94057, 0.41521 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.82135, 0.42745 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.23669, 0.44108 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.08224, 0.45623 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.33105, 0.47296 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.02444, 0.49112 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.25274, 0.51034 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.13513, 0.52992 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.80722, 0.54874 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.42037, 0.56522 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.14595, 0.57746 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.16922, 0.58354 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.65955, 0.58212 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.72222, 0.57292 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.35803, 0.55691 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.45847, 0.53607 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.8405, 0.51284 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.29936, 0.48955 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.65148, 0.46802 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.75389, 0.44944 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.50311, 0.43438 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.82419, 0.423 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.65906, 0.41518 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.95826, 0.41071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.67625, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.76839, 0.41074 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.18756, 0.41475 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88014, 0.42112 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.78435, 0.42957 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.837, 0.43968 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.99577, 0.45071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.27766, 0.46151 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.80014, 0.47055 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.79532, 0.47638 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.57157, 0.47815 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.43383, 0.4759 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.61164, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.23565, 0.46263 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.64077, 0.45355 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.00566, 0.4438 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.86239, 0.43386 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.21851, 0.42405 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.08413, 0.41465 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.4737, 0.40583 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.40857, 0.39776 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.91962, 0.39054 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.04877, 0.3842 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.84778, 0.37875 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.37363, 0.37413 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.56703, 0.35469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.91163, 0.35266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.10632, 0.35101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.18451, 0.3497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.1691, 0.34867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.07897, 0.34789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.93634, 0.34736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.76998, 0.34709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.61266, 0.34707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.4945, 0.34734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43519, 0.34791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.4369, 0.3488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.4776, 0.35002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.50445, 0.35156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.42886, 0.35344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.12767, 0.35572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.45439, 0.35851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.26051, 0.36201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.42251, 0.36642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.86828, 0.37198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.59905, 0.3788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.70406, 0.38688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.36324, 0.39612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.16949, 0.40641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.60571, 0.41771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.67676, 0.43015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.18362, 0.44401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.02496, 0.45959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19677, 0.47717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.76851, 0.49683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.8467, 0.51852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.54085, 0.54189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.9475, 0.56614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.16228, 0.58975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.31375, 0.61026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.59261, 0.62449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.23886, 0.62939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.47081, 0.62315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.39001, 0.60615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.92998, 0.5808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.88551, 0.55077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -33.99459, 0.5198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.01504, 0.49087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.76108, 0.46584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.10286, 0.44551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.94963, 0.43 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.23342, 0.41898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.89981, 0.41193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.90499, 0.40826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.21534, 0.40737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.80598, 0.40866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.65875, 0.4115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.76491, 0.41524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.14094, 0.41909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.85919, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.07818, 0.4236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.04161, 0.42283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.02655, 0.41988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.26259, 0.41531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.87441, 0.40993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.88036, 0.40441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.76547, 0.39911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.12217, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.22846, 0.38937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.09347, 0.38475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.70422, 0.38021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.03781, 0.37575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.07068, 0.37142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.78466, 0.36731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.17269, 0.36352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.24423, 0.36012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.02777, 0.35717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.56703, 0.35469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.51221, 0.33996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.8507, 0.33906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.06177, 0.33844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.17752, 0.33804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.21342, 0.33783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.1757, 0.33778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.07208, 0.3379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.91888, 0.33821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.74127, 0.33873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56866, 0.3395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42853, 0.34058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.34, 0.34198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.30522, 0.34373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.29685, 0.34582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.24402, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.02478, 0.35102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.47395, 0.35425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.40888, 0.35812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.66677, 0.36288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.1429, 0.36873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.8224, 0.37579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.80153, 0.384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.29145, 0.39317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.4059, 0.4031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.95374, 0.41378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.05283, 0.42541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.50132, 0.43841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.22035, 0.45321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.24229, 0.47016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.67143, 0.48947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.63129, 0.51126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.21703, 0.53555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.47387, 0.56207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.41673, 0.58987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.08873, 0.61676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.63125, 0.63909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.31322, 0.65231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.46936, 0.65265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.35738, 0.63884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.03029, 0.61284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.32082, 0.579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.93492, 0.54237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.56827, 0.50725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.97464, 0.47641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.97771, 0.45112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.45504, 0.43154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.32081, 0.41719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.51742, 0.40727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.01429, 0.40092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.80723, 0.39724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.91353, 0.3954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.36455, 0.39463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.20537, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.51169, 0.39343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.41953, 0.3917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.14043, 0.38865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.93108, 0.38433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.01912, 0.37923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.53091, 0.37402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.46868, 0.36927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.74391, 0.36526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76221, 0.36201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14491, 0.35935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.44898, 0.35704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.67088, 0.35488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.77821, 0.35275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.72948, 0.35061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.48455, 0.34847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.00771, 0.34638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.27158, 0.34442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.26487, 0.34265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 18.99986, 0.34115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.51221, 0.33996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.01681, 0.32865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.3198, 0.32846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.51641, 0.3285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.64235, 0.32872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.71015, 0.32909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.71609, 0.32958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.65369, 0.33019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.52444, 0.33094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34122, 0.33185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12643, 0.33297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.90864, 0.33435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.7184, 0.33602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.57891, 0.338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.48821, 0.34028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.39584, 0.34284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.18616, 0.3457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.68231, 0.34895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.67631, 0.35279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.97637, 0.35745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.45632, 0.36315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.09597, 0.36992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 3.00639, 0.37763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.56881, 0.38602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.28896, 0.39487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.78881, 0.40421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.76287, 0.41438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.0257, 0.42586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.52837, 0.43914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.33513, 0.45451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.57374, 0.47212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.37373, 0.49201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.81148, 0.51428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.88618, 0.53892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.54394, 0.56556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.74888, 0.59274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.57619, 0.61744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.27709, 0.63513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.25085, 0.64116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.89953, 0.6329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.44479, 0.61104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.84046, 0.57926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.82914, 0.54269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.07028, 0.50617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.24418, 0.47318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.09665, 0.44552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.44326, 0.42365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.1619, 0.40712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.18773, 0.3951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.50975, 0.38659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.16203, 0.38064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.20594, 0.37639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.70999, 0.37314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.744, 0.3703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.39938, 0.36735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.82351, 0.36392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.23131, 0.35983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.86329, 0.35528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.90433, 0.35067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.4178, 0.34649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33801, 0.34307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.48188, 0.3405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.1995, 0.33868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.92492, 0.33738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.69569, 0.33636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48803, 0.33543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.24842, 0.3345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.92151, 0.33352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.46034, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.82339, 0.33151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.97302, 0.33055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.88375, 0.32972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.55508, 0.32907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.01681, 0.32865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.97806, 0.32007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.22414, 0.32033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.37984, 0.32078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.4886, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.56474, 0.32219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.5989, 0.32307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.57316, 0.32405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47489, 0.32514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.3032, 0.32635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.07004, 0.32771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.80042, 0.32927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.53089, 0.33104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.30025, 0.33304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.12674, 0.33526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.9764, 0.33767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.73875, 0.34031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.22892, 0.34328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.22278, 0.3468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.51341, 0.35108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.96898, 0.35628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.57818, 0.36236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.47514, 0.3691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.06689, 0.37619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.68472, 0.38347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.00929, 0.39105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.751, 0.39937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.74984, 0.40896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.97952, 0.42028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.51685, 0.43351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.49061, 0.44859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.02068, 0.46534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.16459, 0.4836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.89592, 0.50327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.13238, 0.52411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.80964, 0.54526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.97394, 0.56474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.85016, 0.57934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.83243, 0.58551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.37072, 0.58083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.80149, 0.56516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.22697, 0.54069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.50739, 0.51104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.34121, 0.48009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.36756, 0.45099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.24596, 0.42573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.70353, 0.40508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.55763, 0.38895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.72196, 0.37673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.19806, 0.3676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.05075, 0.36076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.37088, 0.35553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.24123, 0.35138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.72892, 0.34785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.91427, 0.34457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.93493, 0.34123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.99995, 0.33771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.34211, 0.33412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.12941, 0.33073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39631, 0.32785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.03938, 0.32567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.12655, 0.32419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.28734, 0.32332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.56224, 0.32285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.97752, 0.32256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.48579, 0.3223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01085, 0.32201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.48513, 0.32165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.85969, 0.32126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.0936, 0.32086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.14492, 0.32048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.9778, 0.32018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.58064, 0.32003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.97806, 0.32007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.33685, 0.31383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.51214, 0.31435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.60575, 0.31507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.67195, 0.31596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.73115, 0.317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.77286, 0.31815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.77152, 0.31939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.7028, 0.32071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.55296, 0.32212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.32308, 0.32363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.03257, 0.32527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.72021, 0.32704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.4342, 0.32893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.20493, 0.33093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 12.00667, 0.33304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.72912, 0.33531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.18098, 0.33788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.13129, 0.34095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.37293, 0.34472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.78498, 0.34924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.37827, 0.35441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.68535, 0.35992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.11119, 0.36548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.53284, 0.37096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.59901, 0.3766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.04807, 0.38288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.74234, 0.39034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.66189, 0.39936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.87386, 0.41003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.48865, 0.42209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.60953, 0.43508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.28835, 0.44851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.50926, 0.462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.21654, 0.47522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.37915, 0.48768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.0624, 0.49836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.47042, 0.50574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.93291, 0.5081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.8327, 0.50419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.50184, 0.49373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.13022, 0.47767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.71813, 0.45783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.08098, 0.43638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.89884, 0.41537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.79513, 0.39629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.4218, 0.38 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.5263, 0.36671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.9837, 0.3562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.78973, 0.34801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.02092, 0.34165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.77795, 0.33667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.14008, 0.33272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.15823, 0.32949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.893, 0.32669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.46803, 0.32409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.08769, 0.32155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.98646, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33296, 0.31691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.15322, 0.31514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.67692, 0.31392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.37076, 0.31324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.138, 0.31301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.10592, 0.31305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.28934, 0.3132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.61726, 0.31335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.99101, 0.31343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33161, 0.31345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.58994, 0.31343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.72836, 0.31338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.70343, 0.31334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.47093, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.00895, 0.31352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.33685, 0.31383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.05141, 0.30969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.15122, 0.31037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.16969, 0.31124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.17415, 0.31229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.19477, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.22402, 0.31477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.23218, 0.31615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18579, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.06007, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.84662, 0.32064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.55969, 0.32226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.2383, 0.32392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.93454, 0.32562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.68202, 0.32734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.45384, 0.3291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.1343, 0.33099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.52756, 0.33316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.40535, 0.33581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.57446, 0.33906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.93874, 0.34289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.53969, 0.3471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.43464, 0.35135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.68052, 0.35535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.84594, 0.35908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.60965, 0.36281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.73817, 0.36704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.10527, 0.37227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.68198, 0.37881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51262, 0.38666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.68428, 0.39545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.29205, 0.40457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.40712, 0.41332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.06393, 0.42115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.27794, 0.42768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.08576, 0.43274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.58259, 0.43613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.93515, 0.43754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.368, 0.43656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.13554, 0.43276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.48838, 0.42597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.63019, 0.4164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66241, 0.4047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.53348, 0.3918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.02484, 0.37872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.79516, 0.36628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.4728, 0.35511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.7565, 0.34552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.4801, 0.33757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.61855, 0.3311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.24161, 0.3259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.44376, 0.32174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.29022, 0.31844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.81084, 0.31581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.04455, 0.31367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.09909, 0.31183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.17237, 0.31017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.50176, 0.30868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26308, 0.30743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.51512, 0.30652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.96628, 0.30601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.32331, 0.30588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.81534, 0.30607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.57708, 0.30646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.61402, 0.30691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.83485, 0.30733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.12106, 0.30769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.38322, 0.30797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.57184, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.65229, 0.30841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.57994, 0.30861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.30281, 0.30885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.78877, 0.3092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.05141, 0.30969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.08042, 0.30747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.11174, 0.30826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.05332, 0.30923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.98728, 0.31035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.95677, 0.3116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.96072, 0.31295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.96795, 0.31435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93735, 0.31579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.83436, 0.31725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.64264, 0.31871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.37272, 0.32019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.06331, 0.32165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.76617, 0.32309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.51062, 0.3245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.261, 0.32594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.89308, 0.3275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.21009, 0.32936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.99591, 0.33167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.08267, 0.33449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.40803, 0.33771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.95386, 0.34105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.79603, 0.34416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.81941, 0.34679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.69801, 0.34897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.14263, 0.35101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.94016, 0.35337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.96491, 0.35648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.17232, 0.36058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.58583, 0.36564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.27997, 0.37129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.35926, 0.37691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.93582, 0.38181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.11442, 0.38543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.99168, 0.38754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.66472, 0.38819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.23675, 0.38764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.81541, 0.38613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.51255, 0.38377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.45545, 0.38049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.80142, 0.37614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.73031, 0.37064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.39519, 0.36412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84548, 0.3569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.969, 0.34936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.49728, 0.3419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.08268, 0.33486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.41069, 0.32847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.28879, 0.32289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.66976, 0.31814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.60817, 0.31418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.18444, 0.31093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.44586, 0.30832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.40082, 0.30627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.06654, 0.30468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.53245, 0.30343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.98475, 0.30242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.65831, 0.30163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.26535, 0.30106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.75077, 0.30076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.93206, 0.30075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.05248, 0.30101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.35424, 0.3015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.97801, 0.30213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.92364, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.08566, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.33079, 0.30406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.56073, 0.30459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.72419, 0.30506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.78729, 0.30549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.70279, 0.30589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.41045, 0.30633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.86741, 0.30683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.08042, 0.30747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.37277, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.35667, 0.30793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.23376, 0.30896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.10205, 0.31012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.02062, 0.31137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 9.99806, 0.31268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.00363, 0.31401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98901, 0.31533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.90961, 0.31662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.74158, 0.31788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.49253, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.20064, 0.32027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.91451, 0.32139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.6546, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.37297, 0.32363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.93755, 0.32495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.15631, 0.3266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.83375, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.83526, 0.33117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.13577, 0.3339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.16144, 0.33653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.84071, 0.33871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.61866, 0.34024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.19973, 0.34118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.32199, 0.34184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.78404, 0.34261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.45634, 0.34389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.2838, 0.34586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.28288, 0.34848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.53304, 0.35145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.16193, 0.35428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.32583, 0.35642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.18957, 0.35746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.90886, 0.35727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.61422, 0.35603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.39716, 0.35408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.30574, 0.35177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.36019, 0.34932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.59029, 0.34674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.07692, 0.34393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.03452, 0.34074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.5739, 0.33713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.43046, 0.33316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.36616, 0.32893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.62219, 0.32459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.03571, 0.32029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.30543, 0.31618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.23112, 0.3124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.7512, 0.30903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.90627, 0.3061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.76299, 0.30361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.35298, 0.30158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.66646, 0.29999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.70089, 0.2988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.52567, 0.29795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.30922, 0.29737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27555, 0.29703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.39453, 0.29693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.65914, 0.29705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.64685, 0.29739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.60155, 0.29793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.77036, 0.29863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.29756, 0.29945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.18171, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.31144, 0.30121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.54563, 0.30205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.77951, 0.30284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95814, 0.30358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.04519, 0.30426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.98854, 0.30491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.71859, 0.30555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.18067, 0.30624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.37277, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.86249, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.83589, 0.30926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.67728, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.50053, 0.31153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.38293, 0.31274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.34566, 0.31395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.36021, 0.31512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37091, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.32201, 0.31725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.18093, 0.31819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.95161, 0.31907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.67062, 0.31988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.38171, 0.32066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.09505, 0.32144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.75142, 0.32233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.21528, 0.32347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.30618, 0.32497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.85606, 0.32689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.76774, 0.32914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.05279, 0.33148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.16268, 0.33355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.66328, 0.33503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.18718, 0.33575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.46797, 0.33577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.2651, 0.33536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.38546, 0.33489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.7005, 0.3347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.158, 0.33496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.78464, 0.33566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.67785, 0.3366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.98918, 0.33744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.90356, 0.33783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.61697, 0.33749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.31194, 0.33637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.1301, 0.33462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.14826, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.37247, 0.33032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.76211, 0.32823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.28097, 0.32628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.04674, 0.3244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.11, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.74119, 0.32043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.79824, 0.31821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.2551, 0.31583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.24411, 0.31331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.98086, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.14354, 0.30806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04841, 0.30551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.62775, 0.30312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.91321, 0.30096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.96264, 0.29906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.79832, 0.29746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.39883, 0.2962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.74622, 0.29526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.89001, 0.29465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97609, 0.29433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.20914, 0.29427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.23917, 0.29446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.3243, 0.29485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.16574, 0.29543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.0009, 0.29615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.06778, 0.29702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.51679, 0.298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.34795, 0.29907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.45285, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.69044, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.95259, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17928, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.32855, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.3412, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.13722, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.64884, 0.30724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.86249, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.46787, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.48368, 0.31206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.33595, 0.31327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.15212, 0.31445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.02825, 0.31558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.00038, 0.31664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.04423, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09736, 0.31841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.09187, 0.31911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.98459, 0.31969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.77341, 0.32019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.49097, 0.32062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.17487, 0.32104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.82601, 0.32152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.37807, 0.3222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.69857, 0.32318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.62537, 0.32457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.02257, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.83167, 0.3284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.90189, 0.33041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.03466, 0.33205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.35603, 0.333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.62573, 0.33313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.60267, 0.33248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.06549, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.83404, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79304, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.90889, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.23083, 0.32692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.87666, 0.32644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -15.01087, 0.32599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.82346, 0.32535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.51188, 0.32437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.25997, 0.32298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.2091, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.42837, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.90371, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.56166, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.32536, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.82161, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.79963, 0.3119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.45412, 0.31068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.63136, 0.30942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.27068, 0.30807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45803, 0.30659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40456, 0.30498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64078, 0.30326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.49239, 0.3015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.08111, 0.29978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.43379, 0.29816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.6049, 0.29667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.61499, 0.29538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.43932, 0.29433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.05089, 0.29355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48164, 0.29306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85243, 0.29287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.34195, 0.29296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.10456, 0.2933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.18216, 0.29385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.46535, 0.29456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.73337, 0.29541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.75384, 0.2964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.3837, 0.29752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.38604, 0.29877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.45801, 0.30012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.69874, 0.30154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 4.00034, 0.30298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29707, 0.3044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.53913, 0.30578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.65888, 0.3071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.56577, 0.30837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.17814, 0.30961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.46787, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.09568, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.21982, 0.31607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.14668, 0.31742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.01144, 0.31862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.92633, 0.31967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.94267, 0.32055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04253, 0.32124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15897, 0.32176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.21284, 0.32211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.14918, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.95685, 0.32246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.66129, 0.32255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.2924, 0.32266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.84388, 0.3229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.24765, 0.32339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.381, 0.32425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.10542, 0.32553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.31967, 0.32717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 1.00321, 0.32899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.7675, 0.33068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.83397, 0.33192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -7.98935, 0.33244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.01044, 0.33211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.67802, 0.33099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.79317, 0.32928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.20008, 0.32725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.81219, 0.32519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.62698, 0.3233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.72006, 0.32167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.22275, 0.32027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.2965, 0.31903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.11562, 0.31782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.85852, 0.31655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.69561, 0.31516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.76358, 0.31365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.13179, 0.31212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.78379, 0.31064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.63493, 0.30931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.41295, 0.30817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.40431, 0.30721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.28752, 0.30639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.92686, 0.30565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.16987, 0.30494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.9365, 0.30418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.27852, 0.30332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.3708, 0.3023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.43597, 0.30114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.35175, 0.29988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.92329, 0.29858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.30232, 0.29731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.54348, 0.2961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.67185, 0.295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.66747, 0.29407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50148, 0.29336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19231, 0.29291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.83566, 0.29276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.58023, 0.2929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.55672, 0.29329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.79906, 0.2939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.20671, 0.29467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.57705, 0.29558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.69337, 0.29664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.41638, 0.29787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.72729, 0.29928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.29332, 0.30086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.52546, 0.30257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.86477, 0.30437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.24017, 0.30618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.59319, 0.30798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.84786, 0.30973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.90455, 0.31142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.6687, 0.31305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.09568, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.65284, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.95687, 0.32086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.03447, 0.32239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.01903, 0.32365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.03154, 0.32462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.1357, 0.32532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32147, 0.32576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.5215, 0.32599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.64925, 0.32604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.63915, 0.32597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.46895, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.15335, 0.32566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.7127, 0.32557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.13501, 0.32566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.35505, 0.32605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.26489, 0.32683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.75291, 0.32801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.75282, 0.32949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.28032, 0.33104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.55872, 0.33237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.58953, 0.33318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.60372, 0.33326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.38883, 0.33252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.74605, 0.33102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.50601, 0.32893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55086, 0.32649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.83588, 0.32396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.39575, 0.32153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.32906, 0.31931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.76976, 0.31737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.8625, 0.31567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.75319, 0.31417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.5913, 0.31279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.52729, 0.31146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.69135, 0.31017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.1578, 0.30891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.91908, 0.30773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.10534, 0.30668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.02017, 0.30579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.88759, 0.30506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.68041, 0.3045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.28543, 0.30406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.56063, 0.30369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.41784, 0.3033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.88399, 0.30282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.10247, 0.30218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.27032, 0.30135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.54938, 0.30038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.00805, 0.29932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.3741, 0.29824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.65258, 0.29717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.86049, 0.29617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.98851, 0.29529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01255, 0.29459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.9424, 0.29412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.85044, 0.29394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.854, 0.29405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.05628, 0.29443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.47862, 0.29502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.02647, 0.29579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.51521, 0.2967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.74519, 0.29777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.58184, 0.29905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -1.99567, 0.30057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.04796, 0.30233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.15783, 0.30429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.52322, 0.30639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.9727, 0.30857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43961, 0.31078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.8414, 0.31297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.07285, 0.31511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.03011, 0.31717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.65284, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.06541, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.61517, 0.32594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.92249, 0.32768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.10659, 0.32902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.28519, 0.32995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52703, 0.3305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.82952, 0.33074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.12992, 0.33074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.34096, 0.33059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.39078, 0.33036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.24633, 0.33009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.90923, 0.32987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.38813, 0.32976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.66567, 0.32987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.68171, 0.3303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.3455, 0.3311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.57285, 0.33223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.33103, 0.33356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.32997, 0.33481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.27489, 0.33571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.3089, 0.33601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.2154, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.78736, 0.33437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.84711, 0.33249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26238, 0.3301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.96333, 0.32741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.95368, 0.32463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.30466, 0.32193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.13086, 0.31944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.55964, 0.31721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.71151, 0.31529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.70007, 0.31366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.64405, 0.31225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.6724, 0.31102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.90739, 0.30991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.42908, 0.30889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.24408, 0.30796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.71445, 0.30714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.54657, 0.30645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.32342, 0.30592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.0386, 0.30555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.60375, 0.30533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.8944, 0.3052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.82324, 0.30507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.39956, 0.30485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.73826, 0.30443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.00967, 0.30379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.36057, 0.30296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.85717, 0.302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.48283, 0.30097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.18241, 0.29994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.08517, 0.29895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.32388, 0.29805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.51879, 0.29731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.67563, 0.29678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.84655, 0.29653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.11821, 0.29656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.56454, 0.29687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.19066, 0.29739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.90393, 0.29808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.53474, 0.29892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.8993, 0.29995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.86807, 0.3012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.40199, 0.30274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.54402, 0.30457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.38126, 0.30667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.00578, 0.30897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.50345, 0.31143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.07298, 0.31397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61653, 0.31654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.02845, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.20194, 0.32155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.06541, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.29956, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.1431, 0.33085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74803, 0.33279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20751, 0.33423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.6214, 0.33516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.05247, 0.33564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.50212, 0.33577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.9161, 0.33569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.214, 0.33549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.32443, 0.33529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.2068, 0.33514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.84959, 0.33509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.24846, 0.33522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.37971, 0.33559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.18793, 0.33628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.59872, 0.33729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.55334, 0.33852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.04996, 0.33976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.82875, 0.34073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.91681, 0.34115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -6.99477, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.83253, 0.33974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.22612, 0.33795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.02115, 0.33561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.12704, 0.33292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.52489, 0.33006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.26509, 0.32718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.44944, 0.32441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.20141, 0.32184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.63731, 0.31954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.85354, 0.31756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.93469, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.97227, 0.31454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.07485, 0.31342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.35519, 0.31247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.89681, 0.31167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.27908, 0.31097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.22083, 0.31037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.01608, 0.30989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.73749, 0.30955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.39555, 0.30937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.92778, 0.30934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.23274, 0.30941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.23132, 0.30949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.92103, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.38977, 0.30916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.77825, 0.3086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.21332, 0.30779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.75554, 0.30681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.39183, 0.30573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.06977, 0.30464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.74305, 0.30358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.39552, 0.30261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.03149, 0.30178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.35375, 0.30117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.79534, 0.30082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.35117, 0.30075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.06538, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.92383, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.83099, 0.30187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.62762, 0.30257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.14318, 0.30344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.25354, 0.30457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.91316, 0.30599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.15073, 0.30776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.04022, 0.30984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.66849, 0.31219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.11742, 0.31475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.53455, 0.31747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.20068, 0.32028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78047, 0.32311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17193, 0.3259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.29956, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.37523, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.53422, 0.33535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.47951, 0.33741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.27035, 0.33895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.97622, 0.33995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.64224, 0.34048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.26771, 0.34068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.80764, 0.3407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.19392, 0.3407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.36219, 0.34078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.26935, 0.34102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.89323, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.21681, 0.34214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.20895, 0.34311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.81678, 0.34438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.97897, 0.34588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.65835, 0.34744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.88074, 0.34877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.23952, 0.34953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.50365, 0.34944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.6639, 0.34839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.47426, 0.34647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.73454, 0.34391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.31599, 0.34097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.16997, 0.33787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.32405, 0.3348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.86679, 0.33186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.92149, 0.3291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.61487, 0.32659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.05247, 0.32436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.31226, 0.32244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.45779, 0.32086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.56001, 0.31959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.70985, 0.3186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -2.00889, 0.31784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.5402, 0.31726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.66342, 0.31682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.63111, 0.31648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.43365, 0.31624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.13927, 0.31613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.77107, 0.31615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.29192, 0.31632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.62672, 0.31657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.71016, 0.3168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.53252, 0.31687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.1555, 0.31666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.6863, 0.3161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.22557, 0.31523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.82309, 0.31414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.46772, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.11202, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.7088, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.23369, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.68219, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.04985, 0.30781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.68362, 0.30734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.54913, 0.30714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.56083, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.68232, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.81019, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.79053, 0.3081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.46345, 0.30869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.7116, 0.30952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.48773, 0.31067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.81262, 0.31218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.75223, 0.31405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.39069, 0.31624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.81253, 0.31871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.09926, 0.3214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.66495, 0.32424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.38926, 0.32717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.98319, 0.33008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.37523, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.36397, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.83178, 0.33954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.1259, 0.34164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.27056, 0.34328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.29897, 0.34443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.23068, 0.34519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.05628, 0.34569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.73702, 0.3461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.21776, 0.3466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.44437, 0.34729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.37524, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.98102, 0.34955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.23383, 0.35119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.09481, 0.35317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.51106, 0.35544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.43034, 0.35785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.83289, 0.3601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.76945, 0.36177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.61398, 0.36244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.08356, 0.36182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.36113, 0.35989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.18543, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.36296, 0.35332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.79222, 0.34952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.46307, 0.34581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.44057, 0.34238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.83981, 0.33927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.79591, 0.33651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.43493, 0.33408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.85463, 0.33197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.12265, 0.33019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.29129, 0.32874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.41883, 0.32763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.58219, 0.32683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.87077, 0.3263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.36283, 0.326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.90206, 0.32586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.93638, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.79274, 0.32591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.5308, 0.32607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.18164, 0.32635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.73076, 0.32672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.1298, 0.32714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.33008, 0.32749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.31778, 0.32762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.12901, 0.32742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.83434, 0.32681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.50237, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.16631, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.81404, 0.32325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.40416, 0.32188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.89285, 0.32058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.25294, 0.3194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.47538, 0.31839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.55788, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.50502, 0.31701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.7176, 0.31664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.06291, 0.31643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.47897, 0.31632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.84966, 0.31624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.02224, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.84629, 0.31631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.21415, 0.31663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.0832, 0.31727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.47361, 0.3183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.44926, 0.31973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.09415, 0.32154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.4951, 0.32368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.73473, 0.3261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.10749, 0.32874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.95273, 0.33151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.72559, 0.33433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.36397, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.36691, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.11369, 0.3441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.73134, 0.34618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.2146, 0.34794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.56308, 0.34938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.76949, 0.35058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.81146, 0.35168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.65109, 0.35284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.24187, 0.35422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.53777, 0.35594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.4991, 0.3581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.09108, 0.36073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.27669, 0.36384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 12.00937, 0.36739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.23435, 0.37124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.9054, 0.37511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.01754, 0.37854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.64601, 0.3809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.02931, 0.38163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.73643, 0.38039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.16603, 0.37732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.0445, 0.37292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.18922, 0.36787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.52685, 0.3628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.08079, 0.35812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.9437, 0.354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.24626, 0.3505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.12744, 0.34755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.71022, 0.34509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.088, 0.34306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.32551, 0.34141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.47253, 0.34014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.58184, 0.33924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.72027, 0.33868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.96497, 0.33845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.38587, 0.33848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.97593, 0.33871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.12073, 0.33908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.08441, 0.33953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.91573, 0.34003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.64887, 0.34059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.28679, 0.34118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.8045, 0.34174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.16917, 0.34216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.36409, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.40104, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.31336, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.13433, 0.34042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.87581, 0.33913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.52076, 0.33772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.03267, 0.33632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.37351, 0.33501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.5182, 0.33385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.45856, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.19873, 0.33203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.24906, 0.33135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.86005, 0.33076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.58301, 0.33019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.32611, 0.32956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.95631, 0.32882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.31976, 0.32803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.27673, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.73419, 0.32677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.66136, 0.3266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.08524, 0.32685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.0728, 0.32757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.71, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.08517, 0.33029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.28024, 0.3322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.36899, 0.33439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.5815, 0.33678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.51055, 0.33928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.36691, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.47839, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.46122, 0.35039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.35415, 0.35247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.1319, 0.35446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.76957, 0.35636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.23818, 0.35828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.50199, 0.36033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.51898, 0.36265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.24414, 0.36542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.63324, 0.36874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.64438, 0.37271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.23556, 0.37739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.35966, 0.38276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.96116, 0.38874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.9813, 0.39506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.37787, 0.40125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.1608, 0.40656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.43356, 0.41007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.58335, 0.41095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57373, 0.40883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.19581, 0.40406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.16777, 0.39752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.32317, 0.3903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.61833, 0.38326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.10621, 0.37695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.89954, 0.37161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.13698, 0.36724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.95646, 0.36374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.4769, 0.36098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.78984, 0.35883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.9619, 0.35722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.04576, 0.35608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.09358, 0.35538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.16532, 0.3551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.32667, 0.3552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.63724, 0.35561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.86473, 0.35626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.17227, 0.35706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.30761, 0.35793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.30778, 0.35882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.20508, 0.35968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.01248, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.72118, 0.36115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.30978, 0.36163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.75804, 0.36182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.05597, 0.36164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.20274, 0.36109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.19718, 0.36022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.02733, 0.35914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.66667, 0.358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.07967, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.23297, 0.35596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10591, 0.35514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.69595, 0.35443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.01954, 0.35376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.11272, 0.35303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.96428, 0.35212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.11938, 0.35092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.22513, 0.34935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.12822, 0.34745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.67406, 0.34534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.73779, 0.34323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.24778, 0.34137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.19269, 0.33993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.61275, 0.33903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.58205, 0.33869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.18959, 0.33891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.5242, 0.33963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.66585, 0.34078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.68278, 0.34231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.63266, 0.34412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.43518, 0.34614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.47839, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.75124, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.92594, 0.36066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.03951, 0.36285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.05644, 0.36525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.93827, 0.36789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.64271, 0.37088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.12372, 0.37433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.3326, 0.37839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.21952, 0.38323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.73447, 0.38897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.82639, 0.39575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.44036, 0.40363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.51424, 0.41257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.97862, 0.42242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.76601, 0.43273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.83559, 0.44269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.21447, 0.45105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.04375, 0.45633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40084, 0.4573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.74584, 0.45359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.61268, 0.44594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.71595, 0.4359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.91287, 0.42511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.19372, 0.41484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.64049, 0.40581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.38276, 0.39828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.564, 0.39225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.31961, 0.38754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.76473, 0.38395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.99031, 0.38129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.06632, 0.37941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.04984, 0.3782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.99409, 0.37758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.95387, 0.3775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.98458, 0.37788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.13509, 0.37863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.56178, 0.37967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.09583, 0.38088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.47886, 0.38214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.73607, 0.38338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.89302, 0.38452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.96408, 0.38554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.94708, 0.38637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.82525, 0.38699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.5734, 0.38737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.16368, 0.3875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.56766, 0.38742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.7546, 0.3872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.68884, 0.38697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.3297, 0.38683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.63573, 0.38685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.57254, 0.38705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.12161, 0.38733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.28809, 0.38754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.10681, 0.38746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.64708, 0.38682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.98377, 0.3854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.64129, 0.38304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.1542, 0.37976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.34643, 0.37574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.06602, 0.37134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.21007, 0.36696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.73654, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.66071, 0.35955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.04113, 0.35691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.96163, 0.35505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.51469, 0.35394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.78886, 0.35351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.86156, 0.35367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.79662, 0.35434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.64553, 0.35545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.54934, 0.35691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.75124, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.17894, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.51005, 0.37843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.79829, 0.38098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 9.00529, 0.38413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.08806, 0.38794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.99893, 0.39253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.68616, 0.39806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.09466, 0.40471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.16639, 0.41269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.83973, 0.42219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.04751, 0.43339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.71412, 0.44642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.75358, 0.46125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.07248, 0.47759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.58459, 0.49467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.24388, 0.51103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.09757, 0.52447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.34116, 0.53246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.66683, 0.53306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.47058, 0.52602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.64516, 0.513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.90823, 0.49671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.15352, 0.47977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.41522, 0.46398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.80918, 0.45028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.48344, 0.43894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.58715, 0.42988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.2543, 0.42283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.59723, 0.41749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.70628, 0.41357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.65354, 0.41082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.49872, 0.40907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.29485, 0.40816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.0917, 0.40796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.93544, 0.40837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.86507, 0.40925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.09255, 0.41048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.92606, 0.41193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.63905, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.24486, 0.41497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.75832, 0.41639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.1874, 0.41768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.52759, 0.41885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.76023, 0.41992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.85412, 0.42094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.76852, 0.42198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.45568, 0.42315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.86243, 0.42458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.93135, 0.42639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.60307, 0.42865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.82087, 0.43136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.5384, 0.43439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.73047, 0.43743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.40611, 0.44003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.62219, 0.44158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.49333, 0.44148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.80769, 0.43925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.06504, 0.43475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.05097, 0.42826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.56419, 0.4204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.46139, 0.41196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.67122, 0.4037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.19011, 0.39616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.06635, 0.38967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.38066, 0.38437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.22837, 0.38026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.7058, 0.37725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.90106, 0.37524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.88921, 0.3741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.73114, 0.37372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.47515, 0.37402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.16042, 0.37494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.17894, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.69612, 0.40748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.16181, 0.40981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.59526, 0.41316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.95922, 0.41761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.21146, 0.4233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.30423, 0.4304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.18403, 0.43914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.79125, 0.4498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.05915, 0.4627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.91184, 0.47819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.26119, 0.49662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 19.00335, 0.51825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.01728, 0.54311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.17045, 0.57075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.34032, 0.5998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.46246, 0.62753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.60693, 0.64973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.94705, 0.66167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.7084, 0.66018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.09608, 0.64566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.62746, 0.6219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.04031, 0.59396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.28995, 0.56604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.4734, 0.54068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.75067, 0.51897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.29332, 0.5011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.25895, 0.48678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.78191, 0.47554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.9722, 0.46691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.9183, 0.46044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.69149, 0.45575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.35053, 0.45254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.94556, 0.45055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.52044, 0.44959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.11317, 0.44945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.75463, 0.44997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.46695, 0.45098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.73753, 0.45233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.85518, 0.4539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.88782, 0.45558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.8377, 0.45734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.70203, 0.45916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.46859, 0.4611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.11323, 0.46326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.59922, 0.46579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.87801, 0.46887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.89047, 0.47271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.56821, 0.47751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.83491, 0.48345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.60875, 0.49063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.80709, 0.49896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.35566, 0.50814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.20444, 0.51744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.35124, 0.52574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.86972, 0.53157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.93062, 0.53339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.2013, 0.53018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.20701, 0.52186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.77957, 0.5094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.68643, 0.49445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.79982, 0.47875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.09117, 0.46369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.60491, 0.45015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.42854, 0.43854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.66836, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.43309, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.82391, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.92921, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.82265, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.56358, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.1993, 0.40575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.76825, 0.40613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.69612, 0.40748 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.60344, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.6193, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.65014, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.69672, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.75838, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.83282, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.91513, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.99647, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.06318, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.09697, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.07638, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.97955, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.78773, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.4894, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.08478, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.59033, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.04264, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.5007, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04518, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.77341, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.78932, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.18846, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.04036, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.37257, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.16166, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.33536, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.78556, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.38759, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.01937, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.57514, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.97184, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.14916, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.06632, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.69893, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.03878, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.09679, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.90766, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.53309, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.0605, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.59516, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.24619, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.10957, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.25381, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.71254, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.4851, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.5432, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.84008, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.31994, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.92576, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.60506, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.31306, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.0131, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.67467, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.26962, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.76813, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.13563, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.33216, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.31514, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.04585, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.49865, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.6691, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.57577, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.25405, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.74576, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.09071, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32273, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.4693, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55289, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59244, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60442, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.603, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.59982, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.60344, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20277, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.22154, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.24805, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.28324, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.3274, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.38091, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.44347, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.51205, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.57881, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.62992, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.64579, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.6025, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.4745, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.23867, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.88043, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.40182, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.83027, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.2259, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68407, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.3307, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.30848, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.75401, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.76917, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.39439, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.59446, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.26439, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.25387, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.39999, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.55544, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.60442, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.46495, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.08107, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.4113, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.41985, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.07543, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.35893, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.27625, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.87076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.22944, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.47881, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.76857, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.24546, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.02591, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.17771, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.71595, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61094, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.80201, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.21232, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.76161, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.37569, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.99174, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.5593, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.03727, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.38896, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.578, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.56838, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.32982, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.84628, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12204, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18047, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05523, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.77965, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.37976, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.87301, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.27067, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.58114, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.8126, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.9746, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07887, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.13933, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17105, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18838, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20277, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.40516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.41297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.42231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.43186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.4426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.45789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.48116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.51272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.54718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.57188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.56603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.50096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.34253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.0582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.62933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.81801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.39601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.34794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.85723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.06091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.00918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.64593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.82237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.33876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -50.99404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.62317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.11274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.39639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.43677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.2033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.65567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.74013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.40078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.60094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.34559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.69666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.77663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.75739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.83217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.17622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.91152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.08963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.66113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.89287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.28539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.74035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.1752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.52535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.74057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.77905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.60459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.19066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.56251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.34922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.77281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.22327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.59764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.89214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.1081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.25225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.33672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.37799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.02824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.00347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.97595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.94004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.89435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.84354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.79625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.76128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.74373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.7415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.74147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.71567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.62059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.40427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.47004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.11362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.62428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.56014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.15484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.57981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.88875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -39.99453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.69521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.73713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.88209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.95165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.84024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.50283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.92677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.09969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -63.98548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.51749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.61114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.1909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.22033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.72385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.79597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.59868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.34336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.2528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.51234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.23156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.43145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.05649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.00121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.14005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.35254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.53863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.62265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.54802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.2697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.97925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.96215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.74739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.40384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -69.00088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.58696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.32443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.8245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.24748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.58279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.82748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.98522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.06696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.09099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.07995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.93145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.85945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.78669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.70085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.59489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.47149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.34185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.22153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.1259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.06487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.03553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.01316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.94625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.7634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.30811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.74829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.68335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.08619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.80247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.41912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.67763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.27075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.92409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.44419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.72861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.74729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.50743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.01444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.24284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.1264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.57022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.47889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.78956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.49645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.66125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.41471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.95167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.50924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.32074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.55962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.30114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.10891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.93492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.8606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.77474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.59522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.26042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.93026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.87754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.58499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.12063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.57798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.04411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.57084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.16311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.39486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.94018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.39551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.74815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.9947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.13764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.16316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.09491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.11358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.81748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.69203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.55666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.39557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.20582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.99762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.79033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.60747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.47002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.3852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.33191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.25099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.05282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.27765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.65484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.61878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.49198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.49066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.64976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.80532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.64973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.82955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.03497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.04949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.75899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.13157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.1807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.92383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.3503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.40861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.01554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.08132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.53989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.37179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.61453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.36659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.79116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.11128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.57823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.41174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.73948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.57078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.33583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.98787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.65818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.26326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.01533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.04472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.79955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.30873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.65953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.97194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.35444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.86442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.4932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.85026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.4383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.91093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.25755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.47797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.57516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.55851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.45085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.28899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.11358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.22675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.95551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.73453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.54876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.36755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.1634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.92412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.65533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.37688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.11751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.90652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.75869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.65433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.52604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.26856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.77882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.07595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.42409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.4642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.53909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.86426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.45764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.13034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.54678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.3224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.11247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.66411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.83012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.55453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.84021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.70968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.17171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.20477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.76013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.77901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.21352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.28711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.01429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.35832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.52244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.75841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.30911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.33638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.87719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.85494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.13239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.51781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.87876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.06399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.99839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.64144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.02178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.24475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.45974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.80122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.33482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.03691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.56453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.1974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.67654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -48.9967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.16389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.18311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.06351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.83114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.53334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.22675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.27318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.85777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.53172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.27928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.05924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.82965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.56563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.26495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.9453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.63804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.37743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.18161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.02838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.84122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.50409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.91082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.96431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.9494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.33529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.50934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.80779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.42947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.38079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.47358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.37578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.6923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.04507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.13055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.74708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.7942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.25015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.13772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.49067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.33193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.66671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.48574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.77167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.69129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.36091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.62222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.66421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.74041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.10828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.94817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.30944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.11877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.23912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.53564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.90977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.29176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.61096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.7763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.69, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.29208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.60701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.75657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.92099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.26409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.86193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.67506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.42616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.11331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.59654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.87753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.97034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.88315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.62552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.22799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.75142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.27318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.28489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.70184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.25764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.93841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.69236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.46088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.20315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.90636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.58427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.26935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.99813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.78782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.61018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.38019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.97846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.30833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.27623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.68937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.17731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.81748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.30565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.46863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.70084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.04359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.26311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -17.97657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.77942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.31068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.30155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.59534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.13813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.95056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.09443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.64468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.66939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.21541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.29858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.00718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.6099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.78975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.72507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.67711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.92021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.64823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.91295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.63436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.6694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.88653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.20005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.55399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.88157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.08054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.0313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.65307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.96318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.09649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.26215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.65308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.3565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.31755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.35048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.11118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.60958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.85373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.8658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.65771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.24029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.65009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.96421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.28489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.45855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.70852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.15129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.77781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.52715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.32313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.10667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.85212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.56818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.2877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.04793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.86285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.30268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.53819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.95717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.63608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.54698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.35086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.62818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.05206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.3658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.42287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.20428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.82253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.48191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.35889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.39404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.17924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.38322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.79427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.32505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -36.99044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.8752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.10108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.79466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.05567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.93122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.4391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.99004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.10954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.96517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.82689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.98652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.65019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.86886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.55185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.54631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.72146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -28.00396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.35385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.71276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.97286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.99767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.68784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.05181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.23191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.45869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.94813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.7967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.93677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.30772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.17202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.71502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.94786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.89866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.58281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.01332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.23404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.33954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.45855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.17793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.29789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.65839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.25833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.96887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.11502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.2577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.4366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.6492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.04058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.17076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.29227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.49194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.86828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.47207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.25392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.04735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.59525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.60501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.80696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.99577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.04915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.93423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.71739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.58107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.16977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.13576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.89186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.0706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.42118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.82654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.28843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.89956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.81111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.19356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.19071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.87847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.24844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.23258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.76767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.87408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.70626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.53661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.66697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.31061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.51721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.18808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.16266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.31018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.56752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.91044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.29317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.61091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.72023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.51028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.98069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.27309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.62542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.26358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.28809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.62414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.37246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.37784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.01348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.28782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.23043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.85868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.18845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.2167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.17793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.0416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.97927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.64781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.03749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.2147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.28132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.33016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.4144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.53877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.67257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.77847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.84552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.90975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.04687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.33393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.79628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.36789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.12758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.84918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.84107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.94597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.06471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.1582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.26243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.51545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.17525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.60198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.80304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.67769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.76082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.91541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.12239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.46297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.09397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.20873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.98205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.80789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.78286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.35505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.52145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.41894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.30953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.48929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.16823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.39455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.06898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.03082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.15137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.37448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.68839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.06249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.40523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.58069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.47827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.09135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.55115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.08446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.9088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.1213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.6476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.77765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.95907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.74506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.13427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.15127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.81285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.13728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.81853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.93406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.0416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.68939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.59347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.22852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.57209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.68321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.6652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.61945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.60961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.6483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.70871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.75426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.77127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.78669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.85827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.03869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.66375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.88875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.81817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.26327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.06641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.11272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.32803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.68017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.1959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.98833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.27397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.35795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.58354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.26685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.64674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.13608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.04074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.12237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.52093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.42908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.03471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.70858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.71495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.3829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.30729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.2418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.18532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.86677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.09166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.81345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.12293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.17068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.0792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.90099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.64109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.31563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 6.99468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.79195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.8042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.03966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.38549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.64342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.62172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.23407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.54736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.07531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.6986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.71272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.13468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.95131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.15003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.71189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.57844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.62787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.68939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.40426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.18613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.72946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 27.99908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.04045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.94885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.82532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.73889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.70939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.71592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.72403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.71576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.70494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.72787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.81306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.05588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.01251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.66484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.86894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.51133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.51424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.83173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.4511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.40754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.80476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.82451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.71106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.73204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.1333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.10762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.78183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.21074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.36879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.14698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.3741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.86923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.50702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.25991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.18855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.37941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.86083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.54571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.23897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.71019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.79025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.43467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.71859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.77342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.71067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.58122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.38928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.1404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.88041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.69181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.64724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.75128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.9125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.97065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.77012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.24034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.43695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.5215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.69519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.12755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.91771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.1003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.67754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.64417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.98328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.63988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.50051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.40426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.0405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.62882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.03318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.20882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.18435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.0391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.86469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.72875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.65593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.63215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.62675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.61789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.60574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.60537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.62358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.6338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.5643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.30652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.73878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.75268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.26973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.24455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.6613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.53416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.91599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.90875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.66411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.36744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.2102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.36424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.96827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.12374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.88792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.25841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.16025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.45611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.63775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.36507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.20958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.24027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.48604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.88584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.29048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.5179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.42985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.98515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.24034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.30253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.26814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.18612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.06346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.90001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.72019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.57452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.50799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.51762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.53113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.42606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.08415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.45205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.57444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.64283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.90923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.48241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.41186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.71504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.3952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.43964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.80097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.38146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.0405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.64077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.21863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.28554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.20074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.02291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.82664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.67108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.5814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.54932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.54899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.55658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.56096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.5593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.46895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.27513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.86579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.1425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.02333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.45684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.42529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.94165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.04736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.81349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.34112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.75503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.18928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.77043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.60719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.7895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.39066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.46112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.01139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.99513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.31115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.4577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.13848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.89311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.76824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.78743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.91096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.03318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.02018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.76609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.23519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.46657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.54201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.54019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.50588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.44914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.36767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.27013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.18023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.11777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.07085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.98134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.75813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.31528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.61558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.69557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.6588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.6429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.77952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.16669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.86287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.89696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.27951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 34.00272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.02881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.2795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.64077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.4499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.48838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.29585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.1022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.90901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.76088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.6783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.65585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.67214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.7033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.73082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.73904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.70444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.58427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.31248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.80705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.98641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.78792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.18081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.16983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.79192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.11039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.20903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.1852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.14008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.16748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.34584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.73784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.39648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.37001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.69729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.39251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.42891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.73635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.79602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.4168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.0823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.81782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.63866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.52045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.39388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.16781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.76723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.16411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.38358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.48402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.5253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.5449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.55378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.54875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.52798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.49564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.45192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.3768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.22166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.91886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.40792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.66567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.7241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.60469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.65095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.89566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.39973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.19803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.30574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.71937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.41091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.10642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.93448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.73898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.53835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.36327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.24048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.18145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.17985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.21698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.26991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.3331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.28905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.13815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.81742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.2537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.37792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.14185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.53045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.56551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.30092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.81328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.19126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.52494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.89579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.36916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.99226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.79877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.81719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.07641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.60259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.40739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.47497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.70123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.25241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.83018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.44303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.09812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.78114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.45064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.05035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.53239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.87763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.10139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.24217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.34141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.42668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.50642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.57586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.62614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.64828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.62889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.54204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.34575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.98965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.43296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.66474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.71563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.65489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.5692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.71877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.08124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.69238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.56919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.71154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.10039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.69564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.3489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.60367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.44675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.35157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.31879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.51007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.52417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.4647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.28498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.92574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.32145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.4133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.16467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.57272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.67098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.52274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.2092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.81663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.42524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.10073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.89018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.8231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.91748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.18755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.64866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.31555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.19441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.27394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.5217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.32967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.80345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.29368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.79803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.31755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.84443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.35709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.8255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.22358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.54087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.78644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.98309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.15562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.32012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.47946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.62543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.7436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.81628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.82149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.73006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.50574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.11177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.52337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.74068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.79545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.74773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.75435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.02762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.50661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.20816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.13475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.29702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.35163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.41221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.4541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.44875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.36045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.14354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.74292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.10027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.16615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.91424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.35148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.51869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.48218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.32079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.11333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.92886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.82078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.82505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.96243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.2438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.67615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.26624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.01996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.93776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.00934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.86962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.26016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.66328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.07144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.48249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.89293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.29424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.67437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.02283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.33613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.61961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.88454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.14189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.39635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.64325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.86909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.05406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.17423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.20249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.10893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.86332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.44096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.83109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.04426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.11473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.09643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.28786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.18407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.14353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.14839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.17808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.20976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.2181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.1736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.04024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.77375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.63632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.67311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.41672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.88223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.11463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.17881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.14691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.05841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.10321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.25088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.51811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.91315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.43987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.10021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.89426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.81819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.86169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.22995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.50528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.8104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.12955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.45444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.78221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.11226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.44381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.77537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.10594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.4364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.76975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.10934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.45581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.14139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.44819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.69901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.86491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.91571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.82262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.56209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.12088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.50108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.72288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.82351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.85232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.27863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.6588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.88296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.79442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.46145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.22117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.06007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.96211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.90887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.87984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.85235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.80083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.69531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.49961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.17052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.65987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.92156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.92295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.65644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.14426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.43361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.5855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.66321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.72415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.81539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.97214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.21823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.56795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.02861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.60296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.29076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.08927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.99264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.21538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.40689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.62989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.87286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.12929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.39723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.67788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.97408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.28917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.62638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.98833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.37617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.78822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.21831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.6542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.07682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.46057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.77472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.98602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.06222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.97649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.71224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.26704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.65451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.90312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.05243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.14784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.35665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.54732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.83441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.23705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.7674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.43213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.2339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.7334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.38482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.87188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.45654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.12863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.8757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.68318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.53444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.41077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.29096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.15036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.95943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.68225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.27628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.6952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.89699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.85598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.57306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.07702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.41614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.64609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.82046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.98545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.17796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.42553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.74727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.15525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.25195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.94242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.72419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.59158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.54947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.61887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.73374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.88437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.06364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.26766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.4958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.75004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.03407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.3522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.70825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.10447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.54037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.01145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.50799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.01401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.50668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.95654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.3289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.58688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.69637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.63217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.38373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.95791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.37773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.67781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.89871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.08177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.26551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.48331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.76241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.12372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.58232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.14845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.8285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.62611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57908, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58475.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57337.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56186.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55029.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53874.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52724.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51575.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50424.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49257.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48060.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46813.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45501.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44111.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42636.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41081.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39459.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37793.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36118.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34472.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32900.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31446.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30148.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29036.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28124.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27411.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26878.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26493.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26216.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26007.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25832.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25668.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25503.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25339, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25189.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25080.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25045.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25129.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25378.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25839.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26555.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27553, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28845.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30428.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32279.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34365.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36642.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39060.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41570.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44123.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46674.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49183.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51615.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53938.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56120.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58131.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59942.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61528.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62868.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63952, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64774.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65342, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65664.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65759.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65645, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65341.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64868.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64247.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63497.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62637.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61687.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60665.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59589.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58475.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55116.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53913.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52712, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51516.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50332.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49158.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47992.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46821.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45631.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44401.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43113.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41748.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40298.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38762.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37150.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35483.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33795.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32128.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30534.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29068.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27780.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26710, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25879.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25286.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24904.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24691, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24590.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24551.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24527.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24490.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24423.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24325.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24208, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24092.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24012.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24016.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24162.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24513, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25129, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26057.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27324.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28930.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30852.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33047.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35458.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38020.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40668.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43341.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45985.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48555.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51017.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53339.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55494.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57454.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59192.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60687.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61923.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62893.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63601.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64057.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64276.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64077.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63698, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63155.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62467.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61652, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60726.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59710.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58623.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57484, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53958.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52736, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51508.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50284.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49068.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47865.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46679.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45506.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44341.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43170.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41974.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40734.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39432, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38054.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36594.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35056.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33455.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31819.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30192.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28631.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27200, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25959.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24962.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24235.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23776.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23554.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23511.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23581.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23704, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23829.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23926.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23979.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23984.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23945.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23875.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23798.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23757.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23810.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24035.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24511.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25308.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26473.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28022, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29933.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32161.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34637.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37280.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40007.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42742.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45419.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 47990.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50417.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52672.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54730.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56567.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58162.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59499.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60570.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61380.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61941.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62270.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62386.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62045.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61618.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61037.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60316.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59469.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58512.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57461.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56338.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55164.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53958.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51449.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48998.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47776, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46561.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45360.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44175.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43009.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41859.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40716.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39568.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38396.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37184.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35916.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34580.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33171, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31693.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30169.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28639.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27162.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25809.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24652.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23751, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23137.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22810.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22729.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22831.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23042.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23298.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23554.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23783.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23974.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24122.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24222, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24269.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24271.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24253.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24268.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24722.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25347.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26340.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27739.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29541.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31703.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34151.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36792.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39525.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42257.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44910.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47428.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49770, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51908, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53818.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55480.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56877.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58001.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58859.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59471.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59861.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60056.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60075.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59929.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59627.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59175.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58580.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56998.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56035.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54977.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53845.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52662.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51449.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48800.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47599.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46400.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45207.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44021.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42845.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41684, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40543.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39425.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38327.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37240.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36154.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35054.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33924.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32744.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31502.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30190.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28824.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27438, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26090.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24856.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23811.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23020.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22518.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22302.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22331, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22537.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22849.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23206.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23570.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23925.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24267.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24589.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24876.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25105.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25260.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25343.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25390.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25469.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25677.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26119.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26890.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28058.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29647.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31632.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33944, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36482.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39134.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41789.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44357.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46772.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48989.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50977.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52710.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54165.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55329.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56206.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56819.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57209.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57418.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57479.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57410.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57213.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56886.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56423.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55828.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55106.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54266.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53317.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52275.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51158.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49992.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48800.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46036.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44888.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43747.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42614.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41486.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40367.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39260.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38174.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37114.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36084.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35080.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34098.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33127.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32151.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31148, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30094, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28975.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27797.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26590.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25409.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24324.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23411.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22734.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22328.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22192.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22290.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22560.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22935.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23364.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23819.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24292.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24785.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25289.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25780.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26219, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26564.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26797.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26932.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27021, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27150.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27427.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27962.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28849.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30145.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31855, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33925.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36260.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38737.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41235.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43654.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45918.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47978.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49796.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51337.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52575.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53496.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54115.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54475.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54640.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54670, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54606.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54462, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54227.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53883.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53418.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52829.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52122.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51305.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49381.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48304.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47181.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46036.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43219.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42155.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41102.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40061, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39026.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37999.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36985, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35990.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35025.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34094.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33201.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32344.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31518.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30707.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29886.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29030.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28117.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27147.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26142.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25150.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24233, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23458.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22883.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22546, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22450.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22572.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22862.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23269.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23748.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24279, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24856.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25481.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26813.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27437, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27961.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28348.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28591.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28725, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28817.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28967.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29287.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29889.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30861, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32237.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 33993.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36041.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38261.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40528.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42735.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44804, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46677.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48309.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49658, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50685.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51376.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51753.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51879, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51836.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51706.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51534.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51328.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51063.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50708.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50241.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49658.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48968.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48181.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47307.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46355.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45341.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44288, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43219.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40457.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39506.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38573.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37655.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36747.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35849.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34965.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34103.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33272.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32478.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31727.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31019.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30352.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29712.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29077.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28419.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27715.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26959.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26166.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25369.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24620.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23971.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23475.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23167.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23065, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23160.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23428.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23831.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24335.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24918.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25572.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26291.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27059.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27842.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28586.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29234, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29737.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30077.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30267.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30356.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30426, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30580.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30939.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31609.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32652.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34066.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35783.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37692.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39671.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41615.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43446.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45106.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46543.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47703.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48540.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49033.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49209.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49143.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48935.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48676.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48417, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48158.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47865.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47494.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47021.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46441, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45766.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45013.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44190.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43308, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42377.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41420, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40457.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37904.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37095.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36308.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35541.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34787.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34048.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33327.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32634, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31973.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31352.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30773.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30238.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29744.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28831.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28368.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27869.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27322.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26732.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26118.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25515.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24966.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24512.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24192.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24034.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24053.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24248.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24602.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25091.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25689.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26374.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27130.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27934, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28750.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29533.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30229, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30792, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31195.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31438.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31549, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31587.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31645.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31836.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32273, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33032.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34131.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35518.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37096.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38759.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40410, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41977.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43406.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45619.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46291.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46630, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46662.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46465.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46145, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45795.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45468, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45158.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44827.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44430.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43938.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43353.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42691.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41970.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41204.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40401.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39572.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38734.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37904.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35740.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35093.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34473.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33874.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33292.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32730, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32194.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31692.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31230.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30808.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30425.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30081.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29773.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29493.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29227.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28952.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28646.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28290, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27876.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26920.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25981.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25611.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25358.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25256.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25581, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 25998.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26552.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27938.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28708.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29486.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30234.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30912.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31481.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31914.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32201, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32351.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32407.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32442.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32558.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32858.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33421.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34269, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35364.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36632.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37982.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39336.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40635.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41826.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42856.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43666.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44199.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44429.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44377.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44114.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43737.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43333.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42947.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42578.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42189.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41741.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41214, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40610.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39951.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39259.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38549.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37832.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37117.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36416.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35740.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34122.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33648.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33202.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32776.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32370.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31989.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31645.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31346.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31094.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30886.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30715.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30576, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30462.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30369.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30284.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30189, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30055.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29859.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29584.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29226.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28799.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28329, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27849.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27401, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27027.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26775.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26688.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26789.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27077.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27525.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28091.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28733.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29415.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30105.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30776, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31397, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31940.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32381.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32704.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32909.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33024.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33106.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33236.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33500.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33962.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34641.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35510, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36512.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37584.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38667.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39714.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40681.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41520.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42175.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42596.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42756.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42670.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42394.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42003.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41567.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41123.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40674.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40197.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39667.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39076.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38433.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37762.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37087.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36425.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35790.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35191.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34635.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34122.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33146.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32836.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32557.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32298.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32059.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31853.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31695.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31596.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31555.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31565.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31611, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31681.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31767.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31863.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31957.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32027, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32043, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31973.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31793.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31496.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31091.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30603.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30066.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29522.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29018.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28609.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28350.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28276.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28397.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28690.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29116.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29628.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30190.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30773.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31355.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31913.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32425.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32870.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33229.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33501.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33703.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33880.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34092.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34400.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34843.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36142.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37787.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38646.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39482.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40260.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40935.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41461.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41796.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41916.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41830.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41570.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41187.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40725.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40212.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39658.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39059.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38412.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37724.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37013.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36305.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35625, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34993, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34424, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33927.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33504.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33146.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32828.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32658.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32525, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32414.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32328.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32282.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32297.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32386.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32547, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32766.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33025.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33304.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33590.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33873.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34138.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34359.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34502.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34529.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34141.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33726.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33192.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32579.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31930.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31300, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30746.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30328.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30086.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30036.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30162, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30427.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30794.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31229, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31707.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32212, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32722.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33217.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33672.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34072.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34413.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34712.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35004.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35330.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35723.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36199.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36752.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37367.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38024.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38708.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39401.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40083.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40721.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41278.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41712.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41992, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42096.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42025.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41792.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41418, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40923.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40327.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39646.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38897.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38101.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37282.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36469.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35691.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34974.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34341.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33807.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33381.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33061, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32828.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33131.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33060.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33040.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33053.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33101.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33201.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33374.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33635.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33981.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34395.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34852.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35805.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36266.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36691.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37049.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37301.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37405.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37331.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37067.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36624.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36032.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35335.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34584.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33839.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33163.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32616.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32237.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32042.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32017.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32135.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32365.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32683.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33073.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33519.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34001.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34494.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34969.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35410.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35815.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36201.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36598.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37031, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37511.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38035, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38586, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39150.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39723.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40898.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41486.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42043.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42535.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42925.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43184.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43295, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43247.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43037.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42662.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42126.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41437.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40620.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39708.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38743.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37768.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36824.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35944.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35157.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34485.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33946.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33547.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33283.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33131.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33997, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33979.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34035.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34144.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34307.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34537.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34855.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35272, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35782.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36368.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 37001.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37652.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38298.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38917.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39483.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39960.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40304.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40473.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40433.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40172.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39702.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39056.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37440.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36599.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35827.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35182, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34701.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34396.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34255.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34254, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34370.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34592, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34908.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35309.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35772.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36267.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36762.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37237.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37691, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38140.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38610.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39117.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39659.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40221.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40782.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41330.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41868.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42409, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42959.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43514, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44048.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44528.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44919.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45194.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45330.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45311.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45119.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44737.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44154.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43376.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42430.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41363.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40232.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39096.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38007.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37005.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36121.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35379.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34795.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34377.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34118.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33997, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35375.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35368.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35464.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35643.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35901.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36248.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36697, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37251.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37904.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38634, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39410.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40203, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40984.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41728.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42405.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42974.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43392.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43613.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43604.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43352, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42865.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42180.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41349.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40440.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39527.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38683, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37964.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37408.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37020.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36790.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36696.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36723.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36864.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37117.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37473.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37912.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38400.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38902.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39394.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39875.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40358, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40863.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41403.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41973.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42556, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43130, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43686.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44233, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44783, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45347.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45920.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46480.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 46993.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47423.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47740.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47918.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47932.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47756.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47363.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46739.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45888.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44839.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43645.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42376.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41099.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39876, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38753.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37764.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36934.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36279.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35807.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35511.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35375.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37230, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37204.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37311.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37535.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37870.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38316.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38877.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39549, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40317.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41157.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42038.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42930.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43803.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44628.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45374.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 46000.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46463.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46719.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46734.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46493.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 46006.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45305.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44446.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43499.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42542, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41647.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40874.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40255.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39798.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39491.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39319.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39269.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39338.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39529.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39833.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40231.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40691.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41177.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41665, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42146.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42633.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43141.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43682.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44253.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44841.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45431.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46018.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46607.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47832, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48465.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49087.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49662.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50155.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50530, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50756.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50803.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50641.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50242.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49590.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48692, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47577.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46303.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44942.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43568.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42247.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41029.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39951.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39039.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38308.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37765.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37410.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37230, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39530.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39471.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39572.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39821.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40209.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40730.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41376.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42134.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42983.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43894, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44835.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45777.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46690.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47546.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48312.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48951.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49423.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49687.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49712.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49482.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 49006, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47455.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46503.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45531.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44610.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43796.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43122.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42599.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42220.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41972.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41848.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41847.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41969.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42208.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42546.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42953.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43397.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43854, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44313.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44781.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45271.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45794.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46353.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46943.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47556.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48190, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48846.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49529.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50237.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50956.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51659.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52310.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52872.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53305.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53577.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53653.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53505, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53106.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52445, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51530.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50396.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49097.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47706.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46295.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44930.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43665.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42537, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41569.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40780.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40176.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39761.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39530.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42224.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42136.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42224.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42479.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42893.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43453.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44144.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44943.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45825.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46757.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47708.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48648.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49548.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50381.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51118, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51725.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52167.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52409.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52425.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52200.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51741.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51074.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50246.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49319.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48362, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47438.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46601.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45883.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45300.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44850.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44528.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44253.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44299.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44459.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44718.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45051.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45431.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45835.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46254.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46690.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47153.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47655.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48204.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48801, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49445, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50134.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50868.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51641.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52443.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53252.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54037.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54760.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55382.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55864.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56170.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56269.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56133.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55743.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55094.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54199.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53092, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51826.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50469.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49088.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47746.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46494.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45367.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44390.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43580.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42945.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42493.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42224.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45106.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45179, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45423.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45830.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46384.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47067.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47851.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48706.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49602.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50506.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51389.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52225.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52988, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53651.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54187.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54566.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54762, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54751.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54524.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54086.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53460.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52684.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51810.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50896.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49997.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49160.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48418.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47788.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47278.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46887.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46616.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46463.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46500, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46668.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46914.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47215.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47554.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47923.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48323.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48761.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49249.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49796.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50409.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51088.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51834.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52638.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53490.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54371.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55252.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56100.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56875.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57537.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58048.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58375.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58488.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58367.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58000, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57387.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56546.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55513, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54335.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53073.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51787.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50532.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49354.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48287.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47353.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46569.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45946, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45491.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48315.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48209.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48264.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48479.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48845, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49346.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49963.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50670, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51437.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52236.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53037.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53813, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54538.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55190.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55746.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56184.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56479.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56612.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56566.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56336.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55925.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55352, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54646.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53849.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53006.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52162.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51355.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50617.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49968, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49419, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48643, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48419.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48303.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48289.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48367.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48524.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48744.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49017.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49336.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49702.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50122.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50604.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51158.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51790.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52500.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53287.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54138.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55038.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55962.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57752.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58544.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59217, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60066.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60191.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60091.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59764.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59215, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58464.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57547.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56505.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55390.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54253.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53139.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52090, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51133.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50290.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49578, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49005.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48582.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48315.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51304.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51201, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51234.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51400.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51693.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52100.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52603.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53180.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53807, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54458, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55108.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56314.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56828.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57256.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57580.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57784, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57851.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57772.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57542.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57167.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56659.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56040.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55341.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54594.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53834.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53092.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52394.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51761.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51206.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50740.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50367.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50091.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49911.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49824.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49824.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49903.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50053.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50268.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50544.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50883.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51289.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51768.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52327.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52968.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53691.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54489.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55348.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56249.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57166.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58068.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58920.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59687.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60335.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60835, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61160.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61294.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61227.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60960.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60502.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59875.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59109.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58240.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57310.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56359.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55426.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54542.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53732.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53015.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52404.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51911.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51542.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51304.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53918.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53816.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53818, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53921.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54121.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54407.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54766.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55182, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55635.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56108.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56580.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57032.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57448.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57810, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58102.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58312.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58426.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58434.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58329.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58110.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57779.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57347, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56827.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56241.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55612.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54963.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54318.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53699.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53122.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52602.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52149.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51772.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51475.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51260.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51127.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51075.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51100.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51200, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51371.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51614.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51929.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52319.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52787.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53961.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54662.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55428.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56245.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57092.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57946.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58778.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59559.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60259.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60851.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61310.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61618.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61762.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61738.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61549.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61205.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60725.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60133.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59460.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58736, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57992.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57257.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56556.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55910.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55333.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54838.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54433.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54125.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53918.8, 145 + 500);
}
